package msc.dodo.wtb.response;

import lombok.Data;
import lombok.extern.slf4j.Slf4j;

/**
 * 统一返回数据模型
 * @author 0100063330
 * @data 2020年3月4日
 * @param <T>
 */
@Data
@Slf4j
public class RespDto<T> {
	/**
	 * 返回码<p>
	 */
    private int status;

    /**
     * 返回处理说明
     */
    private String message;
    
    /**
     * 真实业务数据对象
     */
    private T data;

	public RespDto(){};

    public RespDto(int status,String message,T data){
		this.status=status;
		this.message=message;
		this.data=data;
	}
    
    public RespDto<T> failure(String message) {
        this.init(RespStatus.SYSTEM_EXCEPTION.getCode() ,message, null);
        log.warn(" 返回码: {} 提示消息: {}",
        		RespStatus.SYSTEM_EXCEPTION.getCode(), message);
        return this;
    }

    private void init(int status, String message, T data) {
    	this.status = status;
    	this.message = message;
    	this.data = data;
    }


}
